package org.yelongframework.pdm;

/**
 * PDM列。
 * 
 * @since 1.0.0
 */
public interface PdmColumn extends PdmBaseModel {

	/**
	 * @return 名称
	 */
	String getName();

	/**
	 * @param name 名称
	 */
	void setName(String name);

	/**
	 * @return 代码(列名)
	 */
	String getCode();

	/**
	 * @param code 代码(列名)
	 */
	void setCode(String code);

	/**
	 * @return 描述
	 */
	String getComment();

	/**
	 * @param comment 描述
	 */
	void setComment(String comment);

	/**
	 * @return 数据类型
	 */
	String getDataType();

	/**
	 * @param dataType 数据类型
	 */
	void setDataType(String dataType);

	/**
	 * @return 长度字符串
	 */
	String getLengthStr();

	/**
	 * @param length 长度字符串
	 */
	void setLengthStr(String lengthStr);

	/**
	 * @return 长度
	 */
	Long getLength();

	/**
	 * @param length 长度
	 */
	void setLength(Long length);

	/**
	 * @return 强制性的，是否是必填的
	 */
	String getMandatory();

	/**
	 * @param mandatory 强制性的，是否是必填的
	 */
	void setMandatory(String mandatory);

	/**
	 * @return 强制性的，是否是必填的
	 */
	boolean getMandatoryBoolean();

	/**
	 * @param mandatory 强制性的，是否是必填的
	 */
	void setMandatoryBoolean(boolean mandatory);

	/**
	 * @return 是否是主键
	 */
	boolean isPrimaryKey();

}
